1. Field of the Invention
The present invention relates to a middleware system facilitating development, deployment and provision of a stream-based service, and more particularly to methods and systems of processing a data stream (DS) which is large in quantity and continuously updated, such as radio frequency identification (RFID) or a ubiquitous sensor network (USN).
2. Description of the Related Art
A ubiquitous service is a service in which a computing environment actively provides a service conforming to a situation by monitoring user environment information, compared with a traditional service in which a computing environment passively provides a service upon receiving a user request. Nowadays, various sensors such as RFID sensors, which are required for ubiquitous services, are deployed in various places for monitoring user environment information. The sensors provide data to the computing environment by periodically monitoring the environment information. Here, the data received in the computing environment is referred to as a data stream (DS) because the data is large in quantity and is periodically updated.
Service platforms currently developed and frequently used include Web services, Java Platform, Enterprise Edition (Java EE) (formerly J2EE), Open Services Gateway initiative (OSGi), etc. The service platforms provide a component-based standardized computing environment for a distributed service. However, the service platforms do not consider a DS generated in a ubiquitous environment as input data. The service platforms provide a service by processing the data based on a method of reading and writing the data mainly in static data storage. Therefore, this method has a problem in terms of performance in reading and writing the DS, which is large in quantity and continuously updated.
A stream processing engine proposed for DS processing supports a new query model based on the Structured Query Language (SQL) related to DSs and supports efficient data processing only for a limited DS operation, such as a selection function or an aggregation function. However, the stream-processing engine has limitations in terms of allowing development and operation of a service logic (SL) that is more general and complicated.
Most useful high value-added services are being written in a program language other than SQL, for example, a service that searches for an ideal path in real time based on route information that is updated in real time. Here, Dijkstra's algorithm is mostly used for searching for the ideal path, but it is difficult to express Dijkstra's algorithm in SQL. Accordingly, a new system is needed to support the development and provision of a service that is more general and complicated.
RFID middleware is hardware and/or software that collects a large quantity of raw data generated in a heterogeneous environment, filters the data, summarizes the data into meaningful information, and provides the meaningful information to an application service. Various types of RFID middleware have been proposed, such as Savant Specification published by the Auto-ID Center in September 2003, the Application Level Event (ALE) specification published by EPC global Inc. in October 2004, etc. In addition, Sun, Oracle, IBM, Microsoft, ConnecTerra, Globe Ranger, etc., are developing middleware systems.
These types of RFID middleware limit input data provided from an RFID reader and focus on reducing amounts of overlapping data by correcting data that has a lot of errors, and by simple operations such as filtering, counting, aggregation, etc.
Accordingly, middleware development is needed for integrating and transmitting not only simple DSs read from RFID tags, but also DSs in other environments such as USNs, mobile applications, etc.